More aggressively blank char[] (ass opposed to string) fields.
authorrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Tue, 16 Mar 2004 03:45:45 +0000 (03:45 +0000)
committerrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Tue, 16 Mar 2004 03:45:45 +0000 (03:45 +0000)
gpsbabel/jeeps/gpsmem.c

index 512d95877e0265322c5a680d9fc3af7f3157dc31..48bc461af925b2984d1b423693b4e5bb5cf1d226 100644 (file)
@@ -234,27 +234,25 @@ GPS_PWay GPS_Way_New(void)
     }
 
     /* 
-     * Mark all as "unused".  These appear in the same order as in struct.
-     * It's wretched that A) memset isn't used.  B) sizeof isn't used. C)
-     * The whole stupid structure isn't simply memsetted sanely. 
+     * Mark all as "unused".  These appear in the same order as in the struct.
      */
-
-    for(i=0;i<6;++i) ret->ident[i]=' ';
-    for(i=0;i<40;++i) ret->cmnt[i]=' ';
-    for(i=0;i<256;++i) ret->wpt_ident[i]=' ';
-    for(i=0;i<256;++i) ret->lnk_ident[i]=' ';
-    for(i=0;i<18;++i) ret->subclass[i]=' ';
-    for(i=0;i<30;++i) ret->name[i]=' ';
-    for(i=0;i<32;++i) ret->facility[i]=' ';
-    for(i=0;i<52;++i) ret->addr[i]=' ';
-    for(i=0;i<52;++i) ret->cross_road[i]=' ';
-    for(i=0;i<24;++i) ret->city[i]=' ';
-    for(i=0;i<20;++i) ret->rte_cmnt[i]=' ';
-    for(i=0;i<256;++i) ret->rte_ident[i]=' ';
-    for(i=0;i<18;++i) ret->rte_link_subclass[i]=' ';
-    for(i=0;i<256;++i) ret->rte_link_ident[i]=' ';
-    for(i=0;i<2;++i) ret->state[i]=' ';
-    for(i=0;i<2;++i) ret->cc[i]=' ';
+#define BLANK(x)  memset(x, ' ',sizeof(x))
+    BLANK(ret->ident);
+    BLANK(ret->cmnt);
+    BLANK(ret->wpt_ident);
+    BLANK(ret->lnk_ident);
+    BLANK(ret->subclass);
+    BLANK(ret->name);
+    BLANK(ret->facility);
+    BLANK(ret->addr);
+    BLANK(ret->cross_road);
+    BLANK(ret->city);
+    BLANK(ret->rte_cmnt);
+    BLANK(ret->rte_ident);
+    BLANK(ret->rte_link_subclass);
+    BLANK(ret->rte_link_ident);
+    BLANK(ret->state);
+    BLANK(ret->cc);
 
     ret->facility[0] = 0;
     ret->addr[0] = 0;